package com.sunny.fetch.pojo;

import java.util.ArrayList;
import java.util.List;

public class FStkHoldertradeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FStkHoldertradeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Long value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Long value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Long value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Long value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Long value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Long value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Long> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Long> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Long value1, Long value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Long value1, Long value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTsCodeIsNull() {
            addCriterion("ts_code is null");
            return (Criteria) this;
        }

        public Criteria andTsCodeIsNotNull() {
            addCriterion("ts_code is not null");
            return (Criteria) this;
        }

        public Criteria andTsCodeEqualTo(String value) {
            addCriterion("ts_code =", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotEqualTo(String value) {
            addCriterion("ts_code <>", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeGreaterThan(String value) {
            addCriterion("ts_code >", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ts_code >=", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLessThan(String value) {
            addCriterion("ts_code <", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLessThanOrEqualTo(String value) {
            addCriterion("ts_code <=", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLike(String value) {
            addCriterion("ts_code like", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotLike(String value) {
            addCriterion("ts_code not like", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeIn(List<String> values) {
            addCriterion("ts_code in", values, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotIn(List<String> values) {
            addCriterion("ts_code not in", values, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeBetween(String value1, String value2) {
            addCriterion("ts_code between", value1, value2, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotBetween(String value1, String value2) {
            addCriterion("ts_code not between", value1, value2, "tsCode");
            return (Criteria) this;
        }

        public Criteria andAnnDateIsNull() {
            addCriterion("ann_date is null");
            return (Criteria) this;
        }

        public Criteria andAnnDateIsNotNull() {
            addCriterion("ann_date is not null");
            return (Criteria) this;
        }

        public Criteria andAnnDateEqualTo(String value) {
            addCriterion("ann_date =", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateNotEqualTo(String value) {
            addCriterion("ann_date <>", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateGreaterThan(String value) {
            addCriterion("ann_date >", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateGreaterThanOrEqualTo(String value) {
            addCriterion("ann_date >=", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateLessThan(String value) {
            addCriterion("ann_date <", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateLessThanOrEqualTo(String value) {
            addCriterion("ann_date <=", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateLike(String value) {
            addCriterion("ann_date like", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateNotLike(String value) {
            addCriterion("ann_date not like", value, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateIn(List<String> values) {
            addCriterion("ann_date in", values, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateNotIn(List<String> values) {
            addCriterion("ann_date not in", values, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateBetween(String value1, String value2) {
            addCriterion("ann_date between", value1, value2, "annDate");
            return (Criteria) this;
        }

        public Criteria andAnnDateNotBetween(String value1, String value2) {
            addCriterion("ann_date not between", value1, value2, "annDate");
            return (Criteria) this;
        }

        public Criteria andHolderNameIsNull() {
            addCriterion("holder_name is null");
            return (Criteria) this;
        }

        public Criteria andHolderNameIsNotNull() {
            addCriterion("holder_name is not null");
            return (Criteria) this;
        }

        public Criteria andHolderNameEqualTo(String value) {
            addCriterion("holder_name =", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameNotEqualTo(String value) {
            addCriterion("holder_name <>", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameGreaterThan(String value) {
            addCriterion("holder_name >", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameGreaterThanOrEqualTo(String value) {
            addCriterion("holder_name >=", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameLessThan(String value) {
            addCriterion("holder_name <", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameLessThanOrEqualTo(String value) {
            addCriterion("holder_name <=", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameLike(String value) {
            addCriterion("holder_name like", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameNotLike(String value) {
            addCriterion("holder_name not like", value, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameIn(List<String> values) {
            addCriterion("holder_name in", values, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameNotIn(List<String> values) {
            addCriterion("holder_name not in", values, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameBetween(String value1, String value2) {
            addCriterion("holder_name between", value1, value2, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderNameNotBetween(String value1, String value2) {
            addCriterion("holder_name not between", value1, value2, "holderName");
            return (Criteria) this;
        }

        public Criteria andHolderTypeIsNull() {
            addCriterion("holder_type is null");
            return (Criteria) this;
        }

        public Criteria andHolderTypeIsNotNull() {
            addCriterion("holder_type is not null");
            return (Criteria) this;
        }

        public Criteria andHolderTypeEqualTo(String value) {
            addCriterion("holder_type =", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeNotEqualTo(String value) {
            addCriterion("holder_type <>", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeGreaterThan(String value) {
            addCriterion("holder_type >", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeGreaterThanOrEqualTo(String value) {
            addCriterion("holder_type >=", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeLessThan(String value) {
            addCriterion("holder_type <", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeLessThanOrEqualTo(String value) {
            addCriterion("holder_type <=", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeLike(String value) {
            addCriterion("holder_type like", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeNotLike(String value) {
            addCriterion("holder_type not like", value, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeIn(List<String> values) {
            addCriterion("holder_type in", values, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeNotIn(List<String> values) {
            addCriterion("holder_type not in", values, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeBetween(String value1, String value2) {
            addCriterion("holder_type between", value1, value2, "holderType");
            return (Criteria) this;
        }

        public Criteria andHolderTypeNotBetween(String value1, String value2) {
            addCriterion("holder_type not between", value1, value2, "holderType");
            return (Criteria) this;
        }

        public Criteria andInDeIsNull() {
            addCriterion("in_de is null");
            return (Criteria) this;
        }

        public Criteria andInDeIsNotNull() {
            addCriterion("in_de is not null");
            return (Criteria) this;
        }

        public Criteria andInDeEqualTo(String value) {
            addCriterion("in_de =", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeNotEqualTo(String value) {
            addCriterion("in_de <>", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeGreaterThan(String value) {
            addCriterion("in_de >", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeGreaterThanOrEqualTo(String value) {
            addCriterion("in_de >=", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeLessThan(String value) {
            addCriterion("in_de <", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeLessThanOrEqualTo(String value) {
            addCriterion("in_de <=", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeLike(String value) {
            addCriterion("in_de like", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeNotLike(String value) {
            addCriterion("in_de not like", value, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeIn(List<String> values) {
            addCriterion("in_de in", values, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeNotIn(List<String> values) {
            addCriterion("in_de not in", values, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeBetween(String value1, String value2) {
            addCriterion("in_de between", value1, value2, "inDe");
            return (Criteria) this;
        }

        public Criteria andInDeNotBetween(String value1, String value2) {
            addCriterion("in_de not between", value1, value2, "inDe");
            return (Criteria) this;
        }

        public Criteria andChangeVolIsNull() {
            addCriterion("change_vol is null");
            return (Criteria) this;
        }

        public Criteria andChangeVolIsNotNull() {
            addCriterion("change_vol is not null");
            return (Criteria) this;
        }

        public Criteria andChangeVolEqualTo(Float value) {
            addCriterion("change_vol =", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolNotEqualTo(Float value) {
            addCriterion("change_vol <>", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolGreaterThan(Float value) {
            addCriterion("change_vol >", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolGreaterThanOrEqualTo(Float value) {
            addCriterion("change_vol >=", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolLessThan(Float value) {
            addCriterion("change_vol <", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolLessThanOrEqualTo(Float value) {
            addCriterion("change_vol <=", value, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolIn(List<Float> values) {
            addCriterion("change_vol in", values, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolNotIn(List<Float> values) {
            addCriterion("change_vol not in", values, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolBetween(Float value1, Float value2) {
            addCriterion("change_vol between", value1, value2, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeVolNotBetween(Float value1, Float value2) {
            addCriterion("change_vol not between", value1, value2, "changeVol");
            return (Criteria) this;
        }

        public Criteria andChangeRatioIsNull() {
            addCriterion("change_ratio is null");
            return (Criteria) this;
        }

        public Criteria andChangeRatioIsNotNull() {
            addCriterion("change_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andChangeRatioEqualTo(Float value) {
            addCriterion("change_ratio =", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioNotEqualTo(Float value) {
            addCriterion("change_ratio <>", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioGreaterThan(Float value) {
            addCriterion("change_ratio >", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioGreaterThanOrEqualTo(Float value) {
            addCriterion("change_ratio >=", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioLessThan(Float value) {
            addCriterion("change_ratio <", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioLessThanOrEqualTo(Float value) {
            addCriterion("change_ratio <=", value, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioIn(List<Float> values) {
            addCriterion("change_ratio in", values, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioNotIn(List<Float> values) {
            addCriterion("change_ratio not in", values, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioBetween(Float value1, Float value2) {
            addCriterion("change_ratio between", value1, value2, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andChangeRatioNotBetween(Float value1, Float value2) {
            addCriterion("change_ratio not between", value1, value2, "changeRatio");
            return (Criteria) this;
        }

        public Criteria andAfterShareIsNull() {
            addCriterion("after_share is null");
            return (Criteria) this;
        }

        public Criteria andAfterShareIsNotNull() {
            addCriterion("after_share is not null");
            return (Criteria) this;
        }

        public Criteria andAfterShareEqualTo(Float value) {
            addCriterion("after_share =", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareNotEqualTo(Float value) {
            addCriterion("after_share <>", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareGreaterThan(Float value) {
            addCriterion("after_share >", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareGreaterThanOrEqualTo(Float value) {
            addCriterion("after_share >=", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareLessThan(Float value) {
            addCriterion("after_share <", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareLessThanOrEqualTo(Float value) {
            addCriterion("after_share <=", value, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareIn(List<Float> values) {
            addCriterion("after_share in", values, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareNotIn(List<Float> values) {
            addCriterion("after_share not in", values, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareBetween(Float value1, Float value2) {
            addCriterion("after_share between", value1, value2, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterShareNotBetween(Float value1, Float value2) {
            addCriterion("after_share not between", value1, value2, "afterShare");
            return (Criteria) this;
        }

        public Criteria andAfterRatioIsNull() {
            addCriterion("after_ratio is null");
            return (Criteria) this;
        }

        public Criteria andAfterRatioIsNotNull() {
            addCriterion("after_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andAfterRatioEqualTo(Float value) {
            addCriterion("after_ratio =", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioNotEqualTo(Float value) {
            addCriterion("after_ratio <>", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioGreaterThan(Float value) {
            addCriterion("after_ratio >", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioGreaterThanOrEqualTo(Float value) {
            addCriterion("after_ratio >=", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioLessThan(Float value) {
            addCriterion("after_ratio <", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioLessThanOrEqualTo(Float value) {
            addCriterion("after_ratio <=", value, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioIn(List<Float> values) {
            addCriterion("after_ratio in", values, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioNotIn(List<Float> values) {
            addCriterion("after_ratio not in", values, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioBetween(Float value1, Float value2) {
            addCriterion("after_ratio between", value1, value2, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAfterRatioNotBetween(Float value1, Float value2) {
            addCriterion("after_ratio not between", value1, value2, "afterRatio");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIsNull() {
            addCriterion("avg_price is null");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIsNotNull() {
            addCriterion("avg_price is not null");
            return (Criteria) this;
        }

        public Criteria andAvgPriceEqualTo(Float value) {
            addCriterion("avg_price =", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotEqualTo(Float value) {
            addCriterion("avg_price <>", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceGreaterThan(Float value) {
            addCriterion("avg_price >", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceGreaterThanOrEqualTo(Float value) {
            addCriterion("avg_price >=", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceLessThan(Float value) {
            addCriterion("avg_price <", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceLessThanOrEqualTo(Float value) {
            addCriterion("avg_price <=", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIn(List<Float> values) {
            addCriterion("avg_price in", values, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotIn(List<Float> values) {
            addCriterion("avg_price not in", values, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceBetween(Float value1, Float value2) {
            addCriterion("avg_price between", value1, value2, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotBetween(Float value1, Float value2) {
            addCriterion("avg_price not between", value1, value2, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andTotalShareIsNull() {
            addCriterion("total_share is null");
            return (Criteria) this;
        }

        public Criteria andTotalShareIsNotNull() {
            addCriterion("total_share is not null");
            return (Criteria) this;
        }

        public Criteria andTotalShareEqualTo(Float value) {
            addCriterion("total_share =", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareNotEqualTo(Float value) {
            addCriterion("total_share <>", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareGreaterThan(Float value) {
            addCriterion("total_share >", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareGreaterThanOrEqualTo(Float value) {
            addCriterion("total_share >=", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareLessThan(Float value) {
            addCriterion("total_share <", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareLessThanOrEqualTo(Float value) {
            addCriterion("total_share <=", value, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareIn(List<Float> values) {
            addCriterion("total_share in", values, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareNotIn(List<Float> values) {
            addCriterion("total_share not in", values, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareBetween(Float value1, Float value2) {
            addCriterion("total_share between", value1, value2, "totalShare");
            return (Criteria) this;
        }

        public Criteria andTotalShareNotBetween(Float value1, Float value2) {
            addCriterion("total_share not between", value1, value2, "totalShare");
            return (Criteria) this;
        }

        public Criteria andBeginDateIsNull() {
            addCriterion("begin_date is null");
            return (Criteria) this;
        }

        public Criteria andBeginDateIsNotNull() {
            addCriterion("begin_date is not null");
            return (Criteria) this;
        }

        public Criteria andBeginDateEqualTo(String value) {
            addCriterion("begin_date =", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateNotEqualTo(String value) {
            addCriterion("begin_date <>", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateGreaterThan(String value) {
            addCriterion("begin_date >", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateGreaterThanOrEqualTo(String value) {
            addCriterion("begin_date >=", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateLessThan(String value) {
            addCriterion("begin_date <", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateLessThanOrEqualTo(String value) {
            addCriterion("begin_date <=", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateLike(String value) {
            addCriterion("begin_date like", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateNotLike(String value) {
            addCriterion("begin_date not like", value, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateIn(List<String> values) {
            addCriterion("begin_date in", values, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateNotIn(List<String> values) {
            addCriterion("begin_date not in", values, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateBetween(String value1, String value2) {
            addCriterion("begin_date between", value1, value2, "beginDate");
            return (Criteria) this;
        }

        public Criteria andBeginDateNotBetween(String value1, String value2) {
            addCriterion("begin_date not between", value1, value2, "beginDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateIsNull() {
            addCriterion("close_date is null");
            return (Criteria) this;
        }

        public Criteria andCloseDateIsNotNull() {
            addCriterion("close_date is not null");
            return (Criteria) this;
        }

        public Criteria andCloseDateEqualTo(String value) {
            addCriterion("close_date =", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateNotEqualTo(String value) {
            addCriterion("close_date <>", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateGreaterThan(String value) {
            addCriterion("close_date >", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateGreaterThanOrEqualTo(String value) {
            addCriterion("close_date >=", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateLessThan(String value) {
            addCriterion("close_date <", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateLessThanOrEqualTo(String value) {
            addCriterion("close_date <=", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateLike(String value) {
            addCriterion("close_date like", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateNotLike(String value) {
            addCriterion("close_date not like", value, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateIn(List<String> values) {
            addCriterion("close_date in", values, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateNotIn(List<String> values) {
            addCriterion("close_date not in", values, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateBetween(String value1, String value2) {
            addCriterion("close_date between", value1, value2, "closeDate");
            return (Criteria) this;
        }

        public Criteria andCloseDateNotBetween(String value1, String value2) {
            addCriterion("close_date not between", value1, value2, "closeDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}